java+echarts+mysql数据可视化实战1 | 您所在的位置:网站首页 › echarts 词云 data name › java+echarts+mysql数据可视化实战1 |
1、实验环境: 1)IDEA、SpringBoot、Echarts 2)MyBatis plus、mybatis-plus-generator、velocity 3)thymeleaf、spring-web 4)mybatis、mysql、lombok 2、项目目录: 1)controller->ProductsController.java 2)entity->Products.java 3)mapper->ProductsMapper.java ->xml->ProductsMapper.xml 4)service->ProductsService.java ->impl->ProductsServiceImpl.java 5)vo->BarVO/PieVO/ProductsBarVO BarVO.java @Data public class BarVO { //柱状图 private List names; private List values; }
PieVO @Data @AllArgsConstructor //带参构造 public class PieVO { //饼图格式:{value: 335, name: \'直接访问\'} private Integer value; private String name; }
ProductsBarVO @Data public class ProductsBarVO { //柱状图 //变量名一定要和数据库中的查询名字一致 private String name; private Integer count; }
6)test->mapper->ProductsMapperTest.java 7)test->service->ProductsServiceTest.java 3、测试流程: 1)ProductsBarVO->ProductsMapper->ProductsMapperTest 2)ProductsService->ProductsServiceImpl->ProductsServiceTest 3)ProductsController->Echarts 4、测试代码: 1)ProductsBarVO.java package com.task.vo; @Data public class ProductsBarVO { //柱状图 //变量名一定要和数据库中的查询名字一致 private String name; private Integer count; }2)ProductsMapper.java package com.task.mapper; @Repository public interface ProductsMapper extends BaseMapper { //柱状图 //商品表-分组(商品种类、商品种类数量) //自定义语句 @Select("SELECT name , sum(pnum) count FROM estore.products GROUP BY name") public List findAllProductBarVO(); @Select("SELECT color name, sum(pnum) count FROM estore.products GROUP BY color") public List findColorNumBarVO(); }3)ProductsMapperTest.java package com.task.mapper;import static org.junit.jupiter.api.Assertions.*; @SpringBootTest class ProductsMapperTest { @Autowired private ProductsMapper mapper; //测试横向的findAllProductBarVO @Test void test(){ //name、 count都在集合list中 List list = mapper.findAllProductBarVO(); int i = 0; } @Test void test2(){ //color、 count都在集合list中 List list = mapper.findColorNumBarVO(); int i = 0; } }4)ProductsService.java package com.task.service;public interface ProductsService extends IService { //柱状图 //商品表-分组(商品种类、商品种类数量) //把productsBarVO中的数据传到BarVO public BarVO getBarVO(); //PieVO返回一个集合 public List getPieVO(); //把productsBarVO中的数据传到BarVO public BarVO getBarVO(List list); }5)ProductsServiceImpl.java package com.task.service.impl; @Service public class ProductsServiceImpl extends ServiceImpl implements ProductsService { @Autowired private ProductsMapper productsMapper; //柱状图 //商品表-分组(商品种类、商品种类数量) //业务层封装,即把productBarVO中的集合拆分封装成BarVO两个子对象 @Override public BarVO getBarVO() { //测试过没问题的 List list = productsMapper.findAllProductBarVO(); //定义两个集合 List names = new ArrayList(); List values = new ArrayList(); //for循环遍历给数组 for(ProductsBarVO productsBarVO : list){ names.add(productsBarVO.getName()); values.add(productsBarVO.getCount()); } //定义个BarVo BarVO barVO = new BarVO(); barVO.setNames(names); barVO.setValues(values); return barVO; //接着来个测试 } //PieVO返回一个集合,实现ProductsService中的getPieVO方法 @Override public List getPieVO() { //测试过没问题的 List list = productsMapper.findAllProductBarVO(); List pieVOList = list.stream() .map(e -> new PieVO( e.getCount(), e.getName() )).collect(Collectors.toList()); return pieVOList; } @Override public BarVO getBarVO(List list) { //测试过没问题的 // List list = productsMapper.findAllProductBarVO(); //定义两个集合 List names = new ArrayList(); List values = new ArrayList(); //for循环遍历给数组 for(ProductsBarVO productsBarVO : list){ names.add(productsBarVO.getName()); values.add(productsBarVO.getCount()); } //定义个BarVo BarVO barVO = new BarVO(); barVO.setNames(names); barVO.setValues(values); return barVO; //接着来个测试 } }6)ProductsServiceTest.java package com.task.service;import static org.junit.jupiter.api.Assertions.*; @SpringBootTest class ProductsServiceTest { @Autowired private ProductsService service; @Autowired private ProductsMapper mapper; //测试getBarVO() @Test void getBarVO() { BarVO barVO = service.getBarVO(); int i = 0; } @Test void getBarVO2() { List list = mapper.findColorNumBarVO(); BarVO barVO = service.getBarVO(list); int i = 0; } }7)productsController.java package com.task.controller; @Controller public class ProductsController { @Autowired private ProductsService productsService; @Autowired private ProductsMapper mapper; @RequestMapping("/barVO") @ResponseBody //返回的是数据所以加上ResponseBody public BarVO getBarVO(){ //把数据传到前台 return productsService.getBarVO(); } @RequestMapping("/pieVO") @ResponseBody //返回的是数据所以加上ResponseBody public List getPieVO(){ //把数据传到前台 return productsService.getPieVO(); } @RequestMapping("/barVO2") @ResponseBody //返回的是数据所以加上ResponseBody public BarVO getBarVO2(){ //把数据传到前台 List list = mapper.findColorNumBarVO(); return productsService.getBarVO(list); } }8)可视化展示 |
CopyRight 2018-2019 实验室设备网 版权所有 |